6 休息中の凝集性に影響する要因
以下の分析では、どのような要因が群れ内の凝集性に影響しているかを検討します。
6.1 データの加工
まず、休息中の周辺個体数などについて算出して元データに結合します。
RG_female: 休息集団内のメス数
RG_female_plus1: 自身を含めた休息集団内のメス数
RG_est: 休息集団内の発情メス数
RG_**: それぞれのオスが休息集団内にいたか
x3m_female: 3m以内のメス数
x5m_female: 5m以内のメス数
**_3m: それぞれのオスが3m以内にいるか
## 各調査期間ごとの6歳以上のメスのID
adult18 <- unique(female_18m %>% filter(age >= 6) %>% .$femaleID)
adult19 <- unique(female_19m %>% filter(age >= 6) %>% .$femaleID)
adult20 <- unique(female_20m %>% filter(age >= 6) %>% .$femaleID)
adult21 <- unique(female_21m %>% filter(age >= 6) %>% .$femaleID)
## 10m以内近接個個体名を記したデータを作成
focal_prox <- focal_combined_final %>%
separate(x0_1m, into = str_c("x0_1m",1:11), sep = ",") %>%
separate(x1_3m, into = str_c("x1_3m",1:15), sep = ",") %>%
separate(x3_5m, into = str_c("x3_5m",1:16), sep = ",") %>%
separate(x5_10m, into = str_c("x5_10m", 1:9), sep = ",") %>%
pivot_longer(cols = x0_1m1:x5_10m9,
names_to = "proximity",
values_to = "ID") %>%
mutate(proximity = ifelse(str_detect(proximity,"x0_1m"),"x0_1m",
ifelse(str_detect(proximity,"x1_3m"),"x1_3m",
ifelse(str_detect(proximity,"x3_5m"),"x3_5m",
ifelse(str_detect(proximity,"x5_10m"),"x5_10m","NA"))))) %>%
filter(!is.na(ID))
## 休息集団に含まれるメスの数
RG_female <- focal_prox %>%
filter(RG == "1") %>%
filter((study_period == "m18" & ID %in% adult18)|(study_period == "nm19" & ID %in% adult18)|
(study_period == "m19" & ID %in% adult19)|
(study_period == "m20" & ID %in% adult20)|(study_period == "nm21" & ID %in% adult20)|
(study_period == "m21" & ID %in% adult21)|(study_period == "nm22" & ID %in% adult21)) %>%
left_join(female_all %>% select(date, femaleID, rs2),
by = c("date","ID" = "femaleID")) %>%
group_by(date, no_focal, time) %>%
summarise(RG_female = n(),
RG_est = sum(rs2, na.rm = TRUE)) %>%
ungroup()
## 休息集団内に各オスがいるか否か
RG_TY <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "TY") %>%
mutate(RG_TY = 1) %>%
select(-ID)
RG_IT <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "IT") %>%
mutate(RG_IT = 1) %>%
select(-ID)
RG_LK <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "LK") %>%
mutate(RG_LK = 1) %>%
select(-ID)
RG_KR <- focal_prox %>%
filter(RG == "1") %>%
select(date, no_focal, time, ID) %>%
filter(ID == "KR") %>%
mutate(RG_KR = 1) %>%
select(-ID)
## 3m、5m近接(相手個体の活動に依らず)
focal_prox_all <- focal_prox %>%
mutate(ID = str_replace(ID, "\\(F\\)","")) %>%
mutate(ID = str_replace(ID, "\\(M\\)","")) %>%
mutate(ID = str_replace(ID, "\\(O\\)","")) %>%
mutate(ID = str_replace(ID, "\\(N\\)","")) %>%
mutate(ID = str_replace(ID, "\\(n\\)","")) %>%
mutate(ID = str_replace(ID, "\\(LT\\)","")) %>%
filter((study_period == "m18" & ID %in% adult18)|(study_period == "nm19" & ID %in% adult18)|
(study_period == "m19" & ID %in% adult19)|
(study_period == "m20" & ID %in% adult20)|(study_period == "nm21" & ID %in% adult20)|
(study_period == "m21" & ID %in% adult21)|(study_period == "nm22" & ID %in% adult21))
x3m_female <- focal_prox_all %>%
filter(proximity %in% c("x0_1m","x1_3m")) %>%
group_by(date, no_focal, time) %>%
summarise(x3m_female = n()) %>%
ungroup()
x5m_female <- focal_prox_all %>%
filter(proximity %in% c("x0_1m","x1_3m","x3_5m")) %>%
group_by(date, no_focal, time) %>%
summarise(x5m_female = n()) %>%
ungroup()
## 元データに結合
focal_combined_prox <- focal_combined_final %>%
left_join(RG_female, by = c("date","no_focal","time")) %>%
left_join(x3m_female, by = c("date","no_focal","time")) %>%
left_join(x5m_female, by = c("date","no_focal","time")) %>%
left_join(RG_TY, by = c("date","no_focal","time")) %>%
left_join(RG_IT, by = c("date","no_focal","time")) %>%
left_join(RG_LK, by = c("date","no_focal","time")) %>%
left_join(RG_KR, by = c("date","no_focal","time")) %>%
replace_na(list(RG_female = 0, RG_est = 0, x3m_female = 0, x5m_female =0, RG_TY = 0,
RG_IT = 0, RG_LK = 0, RG_KR = 0)) %>%
replace_na(list(x0_1m = "NA",x1_3m = "NA", x3_5m = "NA", x5_10m = "NA")) %>%
## 自身を含んだ休息集団サイズ
mutate(RG_female_plus1 = RG_female + 1) %>%
## オスとの近接情報を追加
mutate(TY_3m = ifelse(str_detect(x0_1m,"TY")|str_detect(x1_3m,"TY"),1,0),
IT_3m = ifelse(str_detect(x0_1m,"IT")|str_detect(x1_3m,"IT"),1,0),
KR_3m = ifelse(str_detect(x0_1m,"KR")|str_detect(x1_3m,"KR"),1,0),
LK_3m = ifelse(str_detect(x0_1m,"LK")|str_detect(x1_3m,"LK"),1,0)) 続いて、その日群れ内にいた血縁個体数を計算し、結合します。
kin <- read_csv("../Data/data/others/kin.csv")
female_presence <- group_all %>%
select(groupID, study_period, date, Kur:Yun) %>%
select(-c(TY,IT, LK, KR, KM, TG)) %>%
pivot_longer(cols = Kur:Yun,
names_to = "femaleID",
values_to = "presence") %>%
left_join(att) %>%
## 6歳以上の個体のみを抽出
filter(age >= 6,
presence == 1)
focal_numkin <- focal_combined_final %>%
distinct(study_period, date, groupID, no_focal, subject) %>%
left_join(female_presence %>% select(date, groupID, femaleID),
by = c("date", "groupID")) %>%
filter(subject != femaleID) %>%
left_join(kin, by = c("subject" = "femaleID", "femaleID" = "femaleID2")) %>%
mutate(kin = ifelse(kin >= 0.0625,1,0)) %>%
group_by(no_focal, date, subject) %>%
summarise(no_kin = sum(kin)) %>%
ungroup()
focal_combined_prox %>%
left_join(focal_numkin, by = c("no_focal","date","subject")) -> focal_combined_prox_b続いて、TY、ITとの親密度(CSI)の情報も結合します。
focal_combined_prox_b %>%
left_join(CSI_TY_combined %>% select(subject, CSI_TY)) %>%
left_join(CSI_IT_combined %>% select(subject, CSI_IT)) -> focal_combined_prox_c最後に、その日観察したオトナメスへの攻撃頻度も追加します。
### 6歳以上への攻撃のみ
aggression_all %>%
mutate(femaleID = str_replace_all(femaleID, "\\?","")) %>%
left_join(att, by = c("femaleID", "study_period")) %>%
## 確実に被攻撃個体が6歳以上であるものを抽出
filter(age >= 6 | str_detect(femaleID,"multi|many|Multi|KunTrt|Ako,Kil")) %>%
group_by(date) %>%
summarise(no_agg = length(unique(no))) %>%
ungroup() %>%
filter(date >= "2018-10-08") -> no_agg_6yo
focal_combined_prox_c %>%
left_join(group_all_b %>%
select(groupID, date, duration)) %>%
left_join(no_agg_6yo, by = "date") %>%
mutate(rate_agg_6yo = no_agg*60/duration) %>%
replace_na(list(rate_agg_6yo = 0)) %>%
left_join(female_all %>% select(date, femaleID, rs2),
by = c("subject" = "femaleID",
"date")) -> focal_combined_prox_final作成したデータは以下の通り。